package com.ruoyi.durian.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.durian.domain.LlMap;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
* @author lenovo
* @description 针对表【ll_map(地图模块-地图表)】的数据库操作Service
* @createDate 2024-07-26 16:17:15
*/
public interface LlMapService extends IService<LlMap> {

    /**
     * 初始化地图
     *
     * @return
     */
    AjaxResult initMap();

    /**
     * 查询半径内的地点
     *
     * @param range 半径
     * @param mapX  当前位置的横坐标
     * @param mapY  当前位置的纵坐标
     * @return
     */
    AjaxResult selectRadiusByAddress(Integer range, String mapX, String mapY);

    /**
     * 计算预计到达
     *
     * @param startAddressId 开始地点
     * @param endAddressId   结束地点
     * @return
     */
    Map<String, Object> howOver(Integer startAddressId, Integer endAddressId);

    /**
     * 检索地点
     *
     * @param keyWord
     * @return
     */
    List<LlMap> searchAddress(String keyWord);

    /**
     * 搜索地图的详情
     * @param id
     * @return
     */
    AjaxResult search(Integer id);
}
